Fighting Class Name Clashes in Java Component Systems

نویسندگان

  • Petr Hnetynka
  • Petr Tuma
چکیده

This paper deals with class and interface name clashes in Java component systems that occur because of evolutionary changes during the lifecycle of a component application. We show that the standard facilities of the Java type system do not provide a satisfactory way to deal with the name clashes, and present a solution based on administering the names of classes and interfaces with a version identifier using a byte code manipulation tool. We provide a proof of concept implementation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Managing Class Names in Java Component Systems with Dynamic Update

This paper deals with class and interface name clashes in Java component systems that occur because of evolutionary changes during the lifecycle of a component application. We show that the standard facilities of the Java type system do not provide a satisfactory way to deal with the name clashes, and present a solution based on administering the names of classes and interfaces with a version i...

متن کامل

Java Class Deployment Using Class Collections

Java applications are composed of classes which are usually grouped and deployed using Java Archives. When an application is started, the hosting Java Virtual Machine (JVM) obtains the required classes one by one as they are needed from these archives. For this purpose, the JVM locates the related byte code by taking the names of the class and its package and evaluating the environment setting ...

متن کامل

Late Component Adaptation

In this paper we advocate our position for late component adaptation. We propose binary component adaptation (BCA) as a mechanism to modify existing components (such as Java classfiles) to the specific needs of a programmer. Binary component adaptation allows components to be adapted and evolved in binary form and during program loading. BCA rewrites component binaries while they are loaded, re...

متن کامل

Security Risks in Java-based Mobile Code Systems

Java is the predominant language for mobile agent systems, both for implementing mobile agent execution environments and for writing mobile agent applications. This is due to inherent support for code mobility by means of dynamic class loading and separable class name spaces, as well as a number of security properties, such as language safety and access control by means of stack introspection. ...

متن کامل

Java Needs Compound Types

We propose to extend the Java type system with a new construction: compound types, compositions of a class and any number of interfaces. Java users will benefit from the type system’s increased expressiveness, resulting in more kinds of errors being statically excludable. Compound types are particularly beneficial when several independently predefined standards need to be considered, as typical...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003